package detector;

import java.util.Collection;
import java.util.Iterator;

import commands.Command;

/**
 * Checker est une commande implementant le mecanisme de verification d'eventuelles interractions avec le metronome. Cette classe herite de TimerTask
 * car la commande en question est destinee a etre executee via un Timer.
 */
public class Checker implements Command {

	private Collection<Checkable> checkables;	// Tous les elements susceptibles d'etre en contact avec l'utilisateur du metronome (boutons du 
												// clavier, molette, etc.)
	
	public void setCheckables(Collection<Checkable> checkables) {
		this.checkables = checkables;
	}

	public void execute() {
		Iterator<Checkable> iterator = checkables.iterator();
		while(iterator.hasNext()) {	// Pour chacun des elements, on lance la procedure de verification de changement
			iterator.next().check();
		}
	}

}
